CREATE TABLE [dbo].[tb_AnexoTitulos]
(
[IdAnexoTitulo] [int] NOT NULL IDENTITY(1, 1),
[Titulo1] [int] NULL,
[Titulo2] [int] NULL,
[Titulo3] [int] NOT NULL,
[CargoGenerico] [int] NOT NULL CONSTRAINT [DF_tb_AnexoTitulos_CargoGenerico] DEFAULT ((5190)),
[AsignaturaGenerica] [int] NOT NULL,
[Categoria] [int] NOT NULL,
[AntiguedadGeneral] [int] NULL,
[CatPorAntiguedadGeneral] [int] NULL,
[AntiguedadNivel] [int] NULL,
[CatPorAntiguedadNivel] [int] NULL,
[AntiguedadModalidad] [int] NULL,
[CatPorAntiguedadModalidad] [int] NULL,
[AntiguedadCargo] [int] NULL,
[CatPorAntiguedadCargo] [int] NULL,
[HorasDeCursooCapacitacion] [int] NULL,
[CatPorHorasDeCurso] [int] NULL,
[EsTituloEspecifico] [varchar] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Normativa] [int] NULL CONSTRAINT [DF_tb_AnexoTitulos_Normativa] DEFAULT ((541)),
[FechaCarga] [datetime] NULL CONSTRAINT [DF_tb_AnexoTitulos_FechaCarga] DEFAULT (getdate()),
[NTUser] [int] NULL CONSTRAINT [DF_tb_AnexoTitulos_NTUser] DEFAULT ([dbo].[sp_usuario](suser_sname()))
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[Auditar_AnexoD] ON [dbo].[tb_AnexoTitulos] 
FOR  DELETE
AS
SET NOCOUNT ON
BEGIN
	SELECT * FROM DELETED
	IF (@@ROWCOUNT=1) 
	 BEGIN
		   insert tb_AnexoTitulosAUD SELECT [Titulo1], [Titulo2], [Titulo3], [CargoGenerico], [AsignaturaGenerica], [Categoria], [AntiguedadGeneral], [CatPorAntiguedadGeneral], [AntiguedadNivel], [CatPorAntiguedadNivel], [AntiguedadModalidad], [CatPorAntiguedadModalidad], [AntiguedadCargo], [CatPorAntiguedadCargo], [HorasDeCursooCapacitacion], [CatPorHorasDeCurso], [EsTituloEspecifico] , getdate() , SYSTEM_USER , 'DEL'
   		   FROM DELETED
		  
	 END
END
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[Auditar_AnexoI] ON [dbo].[tb_AnexoTitulos] 
FOR INSERT,UPDATE
AS
SET NOCOUNT ON
BEGIN
	SELECT * FROM INSERTED
	IF (@@ROWCOUNT=1) 
	 BEGIN
		   insert tb_AnexoTitulosAUD SELECT [Titulo1], [Titulo2], [Titulo3], [CargoGenerico], [AsignaturaGenerica], [Categoria], [AntiguedadGeneral], [CatPorAntiguedadGeneral], [AntiguedadNivel], [CatPorAntiguedadNivel], [AntiguedadModalidad], [CatPorAntiguedadModalidad], [AntiguedadCargo], [CatPorAntiguedadCargo], [HorasDeCursooCapacitacion], [CatPorHorasDeCurso], [EsTituloEspecifico] , getdate() ,SYSTEM_USER , 'INS'
   		   FROM inserted
		  
	 END
              
END
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[verificar_titulo] ON [dbo].[tb_AnexoTitulos] 
FOR INSERT, UPDATE 
AS
SET NOCOUNT ON
DECLARE @T3 INT
DECLARE @T2 INT
DECLARE @T1 INT

SELECT  @T3 = isnull(Titulo3,0),  @T2 =isnull( Titulo2,0) , @T1 = isnull(Titulo1,0)  FROM Inserted  
if (@T3 = 91760) or (@T2 = 91760) or (@T1 = 91760)
 BEGIN
	ROLLBACK transaction 
	RAISERROR('Este título no se puede agregar en el Anexo. (Es sólo para Acumulación)', 16,1)
        
END
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] ADD CONSTRAINT [PK_tb_AnexoTitulos] PRIMARY KEY CLUSTERED  ([IdAnexoTitulo]) WITH (FILLFACTOR=100) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [idx_anexotitulosCarAsig] ON [dbo].[tb_AnexoTitulos] ([CargoGenerico], [AsignaturaGenerica]) WITH (FILLFACTOR=100) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ind_TitCarAsig] ON [dbo].[tb_AnexoTitulos] ([Titulo2], [Titulo3], [CargoGenerico], [AsignaturaGenerica]) WITH (FILLFACTOR=100) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_AsignaturasGenericas] FOREIGN KEY ([AsignaturaGenerica]) REFERENCES [dbo].[tb_AsignaturasGenericas] ([idAsignaturaGenerica])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_CargosGenericos] FOREIGN KEY ([CargoGenerico]) REFERENCES [dbo].[tb_CargosGenericos] ([idCargoGenerico])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_CategoriasDeTitulo] FOREIGN KEY ([Categoria]) REFERENCES [dbo].[tb_CategoriasDeTitulo] ([idCategoria])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_CategoriasDeTitulo3] FOREIGN KEY ([CatPorAntiguedadCargo]) REFERENCES [dbo].[tb_CategoriasDeTitulo] ([idCategoria])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_CategoriasDeTitulo1] FOREIGN KEY ([CatPorAntiguedadGeneral]) REFERENCES [dbo].[tb_CategoriasDeTitulo] ([idCategoria])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_CategoriasDeTitulo2] FOREIGN KEY ([CatPorAntiguedadModalidad]) REFERENCES [dbo].[tb_CategoriasDeTitulo] ([idCategoria])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_CategoriasDeTitulo4] FOREIGN KEY ([CatPorAntiguedadNivel]) REFERENCES [dbo].[tb_CategoriasDeTitulo] ([idCategoria])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_CategoriasDeTitulo5] FOREIGN KEY ([CatPorHorasDeCurso]) REFERENCES [dbo].[tb_CategoriasDeTitulo] ([idCategoria])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_Normativas] FOREIGN KEY ([Normativa]) REFERENCES [dbo].[tb_Normativas] ([IdNormativa])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_Titulos] FOREIGN KEY ([Titulo1]) REFERENCES [dbo].[tb_Titulos] ([idTitulo])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_Titulos1] FOREIGN KEY ([Titulo2]) REFERENCES [dbo].[tb_Titulos] ([idTitulo])
GO
ALTER TABLE [dbo].[tb_AnexoTitulos] WITH NOCHECK ADD CONSTRAINT [FK_tb_AnexoTitulos_tb_Titulos2] FOREIGN KEY ([Titulo3]) REFERENCES [dbo].[tb_Titulos] ([idTitulo])
GO
